using System;

public sealed class AType {
   // InvalidChars must always refer to the same array object
   public static readonly Char[] InvalidChars = new Char[] { 'A', 'B', 'C' };
}

public sealed class AnotherType {
   public static void M() {
      // The lines below are legal, compile, and successfully 
      // change the characters in the InvalidChars array
      AType.InvalidChars[0] = 'X';
      AType.InvalidChars[1] = 'Y';
      AType.InvalidChars[2] = 'Z';

      // The line below is illegal and will not compile because 
      // what InvalidChars refers to cannot be changed
      //AType.InvalidChars = new Char[] { 'X', 'Y', 'Z' };
   }
}
